package com.hqd.ch03.v51.boot;

import java.util.List;
import java.util.Set;

/**
 * 应用参数
 */
public interface ApplicationArguments {

    /**
     * 返回传递给应用程序的未处理的原始参数
     */
    String[] getSourceArgs();

    /**
     * 返回所有选项参数的名称。例如，如果参数是
     * “——foo=bar——debug”将返回值{@code ["foo", "debug"]}。
     */
    Set<String> getOptionNames();

    /**
     * 是否包含某个选项
     */
    boolean containsOption(String name);

    List<String> getOptionValues(String name);

    List<String> getNonOptionArgs();

}
